import type { TenantInfo } from '@/api/auth';
import type {
  PageResp,
  TenantQueryDto,
  CreateTenantDto,
  UpdateTenantDto,
  UpdateTenantStatusDto,
  TenantResponseDto
} from '@/types/api';
import request from '@/utils/request';

// 分页响应类型
export interface PageResponse<T> {
  data: T[];
  total: number;
  page?: number;
  pageSize?: number;
}

// 租户管理API
export const tenantApi = {
  // 获取租户列表（支持分页和条件筛选）- 改为POST请求
  getTenantList: async (query: TenantQueryDto): Promise<PageResp> => {
    return await request.post('/admin/tenants/list', query);
  },

  // 获取租户详情 - 改为POST请求
  getTenantDetail: async (tenantId: string): Promise<TenantResponseDto> => {
    return await request.post('/admin/tenants/detail', { id: tenantId });
  },

  // 创建租户
  createTenant: async (data: CreateTenantDto): Promise<TenantResponseDto> => {
    return await request.post('/admin/tenants/create', data);
  },

  // 更新租户信息
  updateTenant: async (data: UpdateTenantDto): Promise<TenantResponseDto> => {
    return await request.post('/admin/tenants/update', data);
  },

  // 更新租户状态
  updateTenantStatus: async (data: UpdateTenantStatusDto): Promise<TenantResponseDto> => {
    return await request.post('/admin/tenants/update-status', data);
  },

  // 删除租户
  deleteTenant: async (tenantId: string): Promise<void> => {
    return await request.post('/admin/tenants/delete', { id: tenantId });
  }
};
